home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / Amiga / MathIEEESingTrans.mod < prev    next >
Text File  |  1994-08-08  |  4KB  |  169 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEESingTrans.mod $
  4.   Description: Interface to mathieeesingtrans.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.2 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 00:56:33 $
  10.  
  11.   $VER: mathieeesingtrans_protos.h 1.3 (7.11.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. MODULE MathIEEESingTrans;
  24.  
  25. (*
  26. ** $C- CaseChk       $I- IndexChk  $L+ LongAdr   $N- NilChk
  27. ** $P- PortableCode  $R- RangeChk  $S- StackChk  $T- TypeChk
  28. ** $V- OvflChk       $Z- ZeroVars
  29. *)
  30.  
  31. IMPORT SYS := SYSTEM, E := Exec, M := MathLibrary;
  32.  
  33.  
  34. (*-- MathIEEESingTrans Base variable --------------------------------------*)
  35.  
  36. TYPE
  37.  
  38.   MathIEEESingTransBasePtr * = CPOINTER TO MathIEEESingTransBase;
  39.   MathIEEESingTransBase * = RECORD (M.MathIEEEBase) END;
  40.  
  41. CONST
  42.  
  43.   name * = "mathieeesingtrans.library";
  44.  
  45. VAR
  46.  
  47.   base * : MathIEEESingTransBasePtr;
  48.  
  49.  
  50. (*-- Library Functions ------------------------------------------------*)
  51.  
  52. LIBCALL (base : MathIEEESingTransBasePtr) Atan  *
  53.   ( parm [0] : E.SINGLE )
  54.   : E.SINGLE;
  55.   - 30;
  56.  
  57. LIBCALL (base : MathIEEESingTransBasePtr) Sin   *
  58.   ( parm [0] : E.SINGLE )
  59.   : E.SINGLE;
  60.   - 36;
  61.  
  62. LIBCALL (base : MathIEEESingTransBasePtr) Cos   *
  63.   ( parm [0] : E.SINGLE )
  64.   : E.SINGLE;
  65.   - 42;
  66.  
  67. LIBCALL (base : MathIEEESingTransBasePtr) Tan   *
  68.   ( parm [0] : E.SINGLE )
  69.   : E.SINGLE;
  70.   - 48;
  71.  
  72. LIBCALL (base : MathIEEESingTransBasePtr) Sincos*
  73.   ( VAR cos[8] : E.SINGLE;
  74.     parm [0]   : E.SINGLE )
  75.    : E.SINGLE;
  76.   - 54;
  77.  
  78. LIBCALL (base : MathIEEESingTransBasePtr) Sinh  *
  79.   ( parm [0] : E.SINGLE )
  80.   : E.SINGLE;
  81.   - 60;
  82.  
  83. LIBCALL (base : MathIEEESingTransBasePtr) Cosh  *
  84.   ( parm [0] : E.SINGLE )
  85.   : E.SINGLE;
  86.   - 66;
  87.  
  88. LIBCALL (base : MathIEEESingTransBasePtr) Tanh  *
  89.   ( parm [0] : E.SINGLE )
  90.   : E.SINGLE;
  91.   - 72;
  92.  
  93. LIBCALL (base : MathIEEESingTransBasePtr) Exp   *
  94.   ( parm [0] : E.SINGLE )
  95.   : E.SINGLE;
  96.   - 78;
  97.  
  98. LIBCALL (base : MathIEEESingTransBasePtr) Log   *
  99.   ( parm [0] : E.SINGLE )
  100.   : E.SINGLE;
  101.   - 84;
  102.  
  103. LIBCALL (base : MathIEEESingTransBasePtr) Pow   *
  104.   ( exp  [1] : E.SINGLE;
  105.     parm [0] : E.SINGLE )
  106.   : E.SINGLE;
  107.   - 90;
  108.  
  109. LIBCALL (base : MathIEEESingTransBasePtr) Sqrt  *
  110.   ( parm [0] : E.SINGLE )
  111.   : E.SINGLE;
  112.   - 96;
  113.  
  114. LIBCALL (base : MathIEEESingTransBasePtr) Tieee *
  115.   ( parm [0] : E.SINGLE )
  116.   : E.SINGLE;
  117.   - 102;
  118.  
  119. LIBCALL (base : MathIEEESingTransBasePtr) Fieee *
  120.   ( parm [0] : E.SINGLE )
  121.   : E.SINGLE;
  122.   - 108;
  123.  
  124. LIBCALL (base : MathIEEESingTransBasePtr) Asin  *
  125.   ( parm [0] : E.SINGLE )
  126.   : E.SINGLE;
  127.   - 114;
  128.  
  129. LIBCALL (base : MathIEEESingTransBasePtr) Acos  *
  130.   ( parm [0] : E.SINGLE )
  131.   : E.SINGLE;
  132.   - 120;
  133.  
  134. LIBCALL (base : MathIEEESingTransBasePtr) Log10 *
  135.   ( parm [0] : E.SINGLE )
  136.   : E.SINGLE;
  137.   - 126;
  138.  
  139. (*-- Library Base variable --------------------------------------------*)
  140. (* $L- Address globals through A4 *)
  141.  
  142.  
  143. (*-----------------------------------*)
  144. PROCEDURE* CloseLib ();
  145.  
  146. BEGIN (* CloseLib *)
  147.   IF base # NIL THEN E.base.CloseLibrary (base) END;
  148. END CloseLib;
  149.  
  150. (*-----------------------------------*)
  151. PROCEDURE OpenLib * (mustOpen : BOOLEAN);
  152.  
  153. BEGIN (* OpenLib *)
  154.   IF base = NIL THEN
  155.     base :=
  156.       SYS.VAL
  157.         ( MathIEEESingTransBasePtr,
  158.           E.base.OpenLibrary (name, E.libraryMinimum) );
  159.     IF base # NIL THEN SYS.SETCLEANUP (CloseLib)
  160.     ELSIF mustOpen THEN HALT (100)
  161.     END;
  162.   END;
  163. END OpenLib;
  164.  
  165.  
  166. BEGIN
  167.   base := NIL
  168. END MathIEEESingTrans.
  169.